# Build Gyroe on FreeBSD.

echo Compiling the front-end.
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer backend.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer emit.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer error.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer init-.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer main.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer misc.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer parser.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer scanner.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer symtab.c

echo Compiling the back-end.
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer be_execute.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer be_runtime.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer be_w.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer be_main.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer be_alloc.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer be_symtab.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -finline-functions -ffast-math -fomit-frame-pointer be_inline.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer be_machine.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fomit-frame-pointer be_task.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O -Os -fno-inline-functions -ffast-math -fomit-frame-pointer be_rterror.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O -Os -fno-inline-functions -ffast-math -fomit-frame-pointer be_syncolor.c
gcc -c -w -DELINUX -DEBSD -fsigned-char -O2 -ffast-math -fno-defer-pop be_callc.c

echo Linking.
gcc init-.o misc.o error.o symtab.o scanner.o emit.o parser.o backend.o main.o be_callc.o be_execute.o be_runtime.o be_w.o be_main.o be_alloc.o be_rterror.o be_symtab.o be_inline.o be_machine.o be_task.o be_syncolor.o -lm -ldl -oexu

echo Done.
